package com.android.stockme.backend.fetcher;


import java.util.List;
import java.util.Map;

import com.android.stockme.backend.util.Tupple;


public interface IDataFetcher {
		
	
	/**
	 * Fetch stock history values from the last days
	 * @param symbol -
	 * 			stock's {@code String} symbol
	 * @return returns {@code List< Tupple<String, Float> >} represents
	 * a list of Tupples containing dates and stock values
	 */
	public abstract List<Tupple<String, Float>> fetchStockHistory(String symbol);
			


	
	/**
	 * Fetch current stocks values and relative change
	 * @param
	 * @return returns {@code Map<String , Tupple<Float,Float> >} with stocks 
	 * symbols as {@code Map} keys and Tupple containing current stock value and 
	 * relative change as {@code Map} values
	 */
	public abstract Map<String,Tupple<Float,Float>> fetchStocksData();
				

	

	/**
	 * Fetch latest stocks news
	 * @param 
	 * @return returns {@code List<INewsItem>} represents list of {@code INewsItem}
	 * when each {@code INewsItem} is news feed
	 */
	public abstract List<INewsItem> fetchNewsUpdates();
	
}
